Computer software products are typically tested before being released to the public. A software product may be tested by having a software test provide one or more inputs to the software product and observing how the software product behaves. For instance, the software tests may check that, for each input, the software product produces a desired or expected output. Software testing may involve unit testing (e.g., testing of an individual software unit), integration testing (e.g., testing of a group of software units operating together), functional testing (i.e., testing to determine whether specified functionality desired in a system works properly), system testing (e.g., testing the software product in different hardware or operating system environments), stress testing (i.e., testing to determine how the software product behaves under unfavorable conditions), performance testing (e.g., testing to determine how long the software product takes to perform a given operation), and/or regression testing (i.e., testing to determine whether a modification to one software unit causes other software units to work incorrectly), among other possibilities. Although software testing may be automated to some extent, running multiple tests on the software product may nevertheless take a long time, thereby slowing down development of the software product.